Orthogonal frequency division multiplexed (OFDM) transceivers are of interest for wireless local area networks (WLANs). One example of a WLAN transceiver of commercial interest is a transceiver compliant with the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard, such as the 802.11a and 802.11g standards. In addition to applications in WLAN systems, OFDM is also used in asymmetric digital subscriber line services (ADSL), digital audio broadcast, digital terrestrial television broadcasting in some nations, and in proposed 4G metro area network and wide area network systems, such as those described in IEEE standards 802.11n, 802.16, and 802.20.
An OFDM system carries information in a frequency multiplex to increase the data rate. The total channel bandwidth is divided into multiple subchannels to increase the bandwidth and reduce interference effects. That is, in an OFDM system the carrier centers are placed on orthogonal frequencies and subcarriers are spaced apart by a characteristic time. OFDM transceivers are robust in multi-path environments. Additionally, forward error correction (FEC) codes permit the recovery of certain types of errors. However, OFDM transceivers are sensitive to frequency, clock, and phase offset.
In an OFDM system the basic unit of data is called a symbol which has a corresponding symbol duration. Each carrier has a fixed phase and amplitude for a particular symbol. The modulation attributes are then changed for the next symbol. Modulation and demodulation are achieved by the use of an inverse discrete Fourier transform (e.g., an Inverse Fast Fourier Transform (IFFT)) and discrete Fourier transform (e.g., a Fast Fourier Transform (FFT)), respectively.
FIG. 1 illustrates a conventional prior art WLAN transceiver including an OFDM transmitter 105 and OFDM receiver 155. The transmitter 105 includes a data scrambler, convolutional encoder, interleaver, modulator, inverse discrete Fourier transform (IDFT) module, multiplexer, and a cyclic prefix (CP) module to generate guard symbols. The scrambled data sequence is convolutionally encoded. A puncturing technique may be used to achieve a ratio of uncoded bits to coded bits that is greater than a mother code. Interleaving of the convolutionally encoded bits prevents error bursts. The interleaved encoded bits are grouped together into groups arranged to form symbols. The symbols are then modulated and an OFDM symbol is generated using IDFT. The IDFT output is converted to a serial sequence and a guard duration is added.
The receiver 155 includes modules that perform operations inverse to those of the transmitter and that are performed in a reverse order such that binary data is recovered. As one example, modules may be included to remove guard symbols, perform demuxing operations, discrete Fourier transformation (DFT), channel correction, and viterbi decoding to undue the convolutional encoding. The DFT module is typically implemented as a Fast Fourier Transform (FFT) module. The FFT is an efficient implementation of the discrete Fourier Transform. An FFT module for a communication system utilizes a sequence of multiply-and-add operations that are typically implemented in digital systems as a pipeline having a sequence of butterfly stages that operate upon an M-length initial input, where M is a power of two integer. Conventionally, data buffers are provided at the input of the FFT module and between data stages of the FFT module to permit all of the received data to be processed in parallel in the proper sequence through the various butterfly stages and multiply-and-add operations in the proper sequence.
Receiver 155 must perform a timing recovery operation. An initial timing recovery operation is essential for the receiver to be initially synchronized with the output of the transmitter. Moreover, in a typical OFDM environment timing and carrier errors have to be corrected dynamically to achieve an acceptable signal-to-noise ratio in a multipath environment.
Synchronization in OFDM receiver 155 typically includes an initial synchronization process that includes aligning the receiver to the symbol rate of the transmitted signal. Additionally, frame detection, carrier offset estimation and correction, and sampling error correction are performed to determine FFT windows to decode the signal.
Conventionally, an input sample FIFO queue (not shown in FIG. 1) in OFDM receiver 155 receives the input stream and a timing window is selected that defines groups of samples that are sent to the FFT module for subsequent FFT processing. As illustrated in FIG. 2, one aspect of the operation of receiver 155 is defining FFT timing windows which define groups of samples in the FIFO that are sent to the FFT module for FFT processing. Each group of samples that is processed corresponds to one symbol. For example, in many OFDM system an OFDM symbol corresponds to 80 samples. Of the 80 samples, 16 typically correspond to guard samples and the remaining 64 samples correspond to symbol data.
A loop filter (not shown in FIG. 1) is typically used to provide dynamic correction of timing and carrier errors. However, the loop filter may underflow or overflow. Consequently, a correction to the timing window applied to the input FIFO must be provided. In particular, if sample synchronization is lost, the timing window must be adjusted. A fine adjustment of the timing window may be implemented by generating a signal to skip or repeat a sample, i.e., to adjust the timing window up or down by one sample, respectively.
FIG. 3 illustrates some of the sample synchronization problems in prior art WLAN receiver systems. An RF module 305 receives the transmitted OFDM signal and performs an initial demodulation process to generate data packets which are received in a baseband processor 302. For the purposes of illustration, some components of baseband processor 302 are omitted for clarity. An input queue 310 receives input samples. A sample timing window adjustment module 315 defines groups of samples corresponding to symbols received by FFT module 320. FFT module 320 may, for example, be a multi-stage FFT module that receives data samples corresponding to an M length input and then processes the samples in a conventional arrangement of FFT stages having appropriate data buffers between stages. A timing estimation module 325 (e.g., a coarse timing estimation module) is used to determine corrections to the sample timing window required to provide sample synchronization for use by sample timing window adjustment module 315.
However, note there is a feedback delay along path 330 between the initial time when a synchronization error is detected and when the sample timing window is adjusted. However, FFT module 320 performs nonlinear mathematical operations (e.g., quantization, rounding, and clipping) such that it is difficult to correct the output of FFT module 320 without a large performance loss. As a result, all of the data that was input to the FFT module with an incorrect sample timing window before sample timing window adjustment module 315 corrects the timing window is processed with the wrong sample timing window, increasing the likelihood of generating errors in subsequent decoding operations.
As an illustrative example, suppose FFT module 320 outputs a first symbol having a timing error, i.e., incorrect sample synchronization. The error in the first symbol is detected by timing estimation module 325. Due to the pipelined architecture at approximately the same time, a second group of samples corresponding to a second symbol enters FFT module 320. In the best case scenario that the feedback delay 330 is short in duration, the sample window timing adjustment module 315 will correct the timing window for a third group of samples corresponding to a third symbol. However, note that the second group of symbols has already been received in the input buffer of FFT module 320 before its timing could be corrected. That is, in the best case scenario after a timing error is detected in a first symbol output from FFT module 320, the second subsequent symbol received by FFT module 320 will still be processed with an incorrect timing window. In this example it will not be until at least the third symbol that the FFT processes samples with the correct timing window.
In light of the problems described above, the inventive apparatus, system, and method was developed.